4
תגובות
עד לפי היום הייתי כותב אינטרפייסים בצורה שתמיד הייתי כותב אותם
בדיוק כמו בדוקומנטציה.
היום פעם ראשונה עצרתי להבין למה משמשת כאן המילה public
וגם כל הדוגמאות בדוקומנטציה באות עם המודיפיקטור public.
http://php.net/manual/en/language.oop5.interfaces.php
למה משמש המודיפיקטור public באינטרפייסים?
בדיוק כמו בדוקומנטציה.
interface IWeird
{
public function doSomething($x);
}
{
public function doSomething($x);
}
היום פעם ראשונה עצרתי להבין למה משמשת כאן המילה public
וגם כל הדוגמאות בדוקומנטציה באות עם המודיפיקטור public.
http://php.net/manual/en/language.oop5.interfaces.php
למה משמש המודיפיקטור public באינטרפייסים?
4 תשובות
הדוקומנטציה מצהירה:
All methods declared in an interface must be public, this is the nature of an interface.
המטרה של אינטרפייס זה לדעת (או לתכנן, בייחוד כשאתה עובד עם אנשים אחרים) את הפונקציונליות של מחלקה(ות) בתור מישהו שמסתכל מבחוץ. לא אכפת לך מה קורה בתוך המחלקה. כל מה שאתה רוצה זה דברים שאתה יכול לעשות אִתה. זו הסיבה שאפשר להשתמש רק ב-public.
אלכס שאל אם זה תמיד public, אז למה בכלל לרשום, הרי לא יכול להיות משהו אחר. כנראה האינטרפייס ככה נראה יותר קריא, לא מצאתי סיבה אחרת :) בכל מקרה אתה לא חייב לרשום, וגם בשאר השפות זה ככה, לא רק PHP.
ברור שהן public, הרי שלא יכול להיות שום דבר אחר באינטרפייס.
בשפות אחרות אתה מקבל שגיאה אם אתה בכל זאת מנסה לציין access modificator בתוך אינטרפייס.
ובדוקומנטציה מביאים בפירוש דוגמאות עם